#!/bin/bash

# MinIO 目录初始化脚本 - 适用于 CentOS 系统
# 创建必要的目录并设置正确的权限

set -e

echo "🚀 开始设置 MinIO 目录..."

# MinIO 数据和配置目录
MINIO_DATA_DIR="/opt/minio/data"
MINIO_CONFIG_DIR="/opt/minio/config"

# 创建目录
echo "📁 创建 MinIO 目录..."
sudo mkdir -p $MINIO_DATA_DIR
sudo mkdir -p $MINIO_CONFIG_DIR

# 设置目录权限 (MinIO 容器内运行用户 UID:GID 通常是 1000:1000)
echo "🔐 设置目录权限..."
sudo chown -R 1000:1000 $MINIO_DATA_DIR
sudo chown -R 1000:1000 $MINIO_CONFIG_DIR
sudo chmod -R 755 $MINIO_DATA_DIR
sudo chmod -R 755 $MINIO_CONFIG_DIR

# 设置 SELinux 上下文 (如果启用了 SELinux)
if command -v getenforce >/dev/null 2>&1 && [ "$(getenforce)" != "Disabled" ]; then
    echo "🛡️ 设置 SELinux 上下文..."
    sudo setsebool -P container_manage_cgroup on
    sudo chcon -Rt svirt_sandbox_file_t $MINIO_DATA_DIR
    sudo chcon -Rt svirt_sandbox_file_t $MINIO_CONFIG_DIR
fi

# 显示目录信息
echo "✅ MinIO 目录设置完成！"
echo ""
echo "📊 目录信息："
echo "数据目录: $MINIO_DATA_DIR"
echo "配置目录: $MINIO_CONFIG_DIR"
echo ""
ls -la /opt/minio/

echo ""
echo "🎯 接下来可以运行："
echo "docker-compose -f docker-compose-minio.yml up -d"